package point;

import java.applet.*;
import java.awt.*;
/**
 * This type was created in VisualAge.
 */
public class Point extends Applet {
	public void paint(Graphics g){
		public double xfold, xfnew, yfold, yfnew;
		public double min, max, xrange, yrange;
		public int xdot, ydot, xscreen, yscreen;
		public double aa, bb, cc, dd, ee;
		aa = -0.94;
		bb = 2.3;
		cc = -1.37;
		dd = 1.45;
		xfold = .754;
		min = -1.0;
		max = 1.0;
		yfold = -.32;
		for(long i = 1; i<=5000; i++) {
			xfnew = Math.sin(yfold*bb) + cc * Math.sin(xfold*bb);
			yfnew = Math.sin(xfold*aa) + dd * Math.sin(yfold*aa);
			if (xfnew>max) max=xfnew;
			if (xfnew<min) min=xfnew;
			if (yfnew>max) max=yfnew;
			if (yfnew<min) min=yfnew;
			xfold=xfnew;
			yfold=yfnew;
			xfnew = Math.sin(yfold*bb) + cc * Math.sin(xfold*bb)*-1.0;
			yfnew = Math.sin(xfold*aa) + dd * Math.sin(yfold*aa);
			if (xfnew>max) max=xfnew;
			if (xfnew<min) min=xfnew;
			if (yfnew>max) max=yfnew;
			if (yfnew<min) min=yfnew;
			xfold=xfnew;
			yfold=yfnew;
		}
		min = min - .1;
		max = max + .1;
		xscreen = 400;
		yscreen = 400;
		xrange = xscreen/(max - min);
		yrange = yscreen/(max - min);
		for(long i = 1; i<=50000; i++) {
			g.setColor(Color.red);
			xfnew = Math.sin(yfold*bb) + cc * Math.sin(xfold*bb);
			yfnew = Math.sin(xfold*aa) + dd * Math.sin(yfold*aa);
			xdot = (int)Math.round(xrange*(xfnew-min));
			ydot = (int)Math.round(yrange*(yfnew-min));
			g.drawLine(xdot,ydot,xdot,ydot);
			xfold = xfnew;
			yfold = yfnew;
			g.setColor(Color.blue);
			xfnew = Math.sin(yfold*bb) + cc * Math.sin(xfold*bb)*-1.0;
			yfnew = Math.sin(xfold*aa) + dd * Math.sin(yfold*aa);
			xdot = (int)Math.round(xrange*(xfnew-min));
			ydot = (int)Math.round(yrange*(yfnew-min));
			g.drawLine(xdot,ydot,xdot,ydot);
			xfold = xfnew;
			yfold = yfnew;
		}
	}
}